const WIDTH = 1024

export function isMobile () {
  const rect = document.body.getBoundingClientRect()
  return rect.width < WIDTH
}

export function bindToGlobal (obj, key = 'globalObj') {
  if ((obj !== null) && (typeof obj === 'object') && (toString.call(obj) !== '[object Array]')) {
    if (typeof window[key] === 'undefined') {
      window[key] = {}
    }
    for (let i in obj) {
      window[key][i] = obj[i]
    }
  } else {
    console.log('bindToGlobal函数需要传入 Object 为参数')
  }
}

export function getTabHeight (diff) {
  var height = document.body.clientHeight
  var tableHeight = height - 90 - parseInt(diff)
  return tableHeight
}

// 为元素添加类名
export function addClass (el, className) {
  // 先判断一下元素是否含有需要添加的类名，有则直接 return
  if (hasClass(el, className)) {
    return
  }
  // 把该元素含有的类名以空格分割
  let newClass = el.className.split(' ')
  // 把需要的类名 push 进来
  newClass.push(className)
  // 最后以空格拼接
  el.className = newClass.join(' ')
}

// 为元素删除类名
export function deleteClass (el, className) {
  // 先判断一下元素是否含有需要添加的类名，有则直接 return
  if (!hasClass(el, className)) {
    return
  }
  // 把该元素含有的类名以空格分割
  let newClass = el.className.split(' ')
  // 删除
  newClass.splice(newClass.indexOf(className), 1)
  // 最后以空格拼接
  el.className = newClass.join(' ')
}

// 判断是否有要查看的 className，有则返回true，否则返回 false
export function hasClass (el, className) {
  let reg = new RegExp('(^|\\s)' + className + '(\\s|$)')

  return reg.test(el.className)
}
